#ifndef __CONTROL_H
#define __CONTROL_H


//全局变量
extern unsigned int MotorSpeed,MotorSpeed1,MotorSpeed2,MotorSpeed3; // 电机1,2,3,4速度
extern int SpeedTarget,SpeedTarget1,SpeedTarget2,SpeedTarget3;      // 目标速度1,2,3,4
extern int MotorOutput,MotorOutpu1,MotorOutput2,MotorOutput3;     // 电机输出1,2,3,4

//函数声明
void GetMotorPulse(void);                      // 通过TIM1读取电机1脉冲并计算速度
void GetMotorPulse1(void);                     // 通过TIM2读取电机2脉冲并计算速度
void GetMotorPulse2(void);                     // 通过TIM3读取电机3脉冲并计算速度
void GetMotorPulse3(void);                     // 通过TIM4读取电机4脉冲并计算速度
int SpeedInnerControl(int Speed,int Target);    // 增量式PID控制器
void SetMotorVoltageAndDirection(int Pwm);     // 电机1电压和方向控制函数
void SetMotorVoltageAndDirection1(int Pwm);    // 电机2电压和方向控制函数
void SetMotorVoltageAndDirection2(int Pwm);    // 电机3电压和方向控制函数
void SetMotorVoltageAndDirection3(int Pwm);    // 电机4电压和方向控制函数

#endif
